home *** CD-ROM | disk | FTP | other *** search
- /* DoScrap.c */ /* C14 Calculator */
-
- #include <Types.h>
- #include <Quickdraw.h>
- #include <Controls.h>
- #include <Dialogs.h>
- #include <Events.h>
- /*#include <Lists.h>*/
- #include <Menus.h>
- #include <TextEdit.h>
-
- #include "DoScrap.h"
-
- #include <Scrap.h>
-
- /* global vars: */
- Boolean scrapDirty;
- OSType scrapType;
-
- static short scrapCompare;
-
- void DoScrapSeg() {}
-
- #pragma segment DoScrap
-
- /*----------*/
- void ReadDeskScrap ()
- {
- typedef OSType **OSTypeHandle;
-
- register PScrapStuff scrap;
- long scrapLength;
- long offset;
-
- scrap = InfoScrap ();
- if (scrapCompare != scrap->scrapCount) {
- if (scrap->scrapHandle == NULL) {
- scrapType = '????';
- } else {
- scrapType = **((OSTypeHandle) scrap->scrapHandle);
- }
- TESetScrapLen (0);
- if (GetScrap (NULL, 'TEXT', &offset) > 0) {
- scrapLength = TEFromScrap ();
- }
- scrapCompare = scrap->scrapCount;
- } /*if*/
- } /*ReadDeskScrap*/
-
- /*----------*/
- void WriteDeskScrap ()
- {
- OSErr errCode;
- PScrapStuff scrapPtr;
-
- if (scrapDirty) {
- errCode = ZeroScrap ();
- errCode = TEToScrap ();
- scrapType = 'TEXT';
- scrapDirty = false;
- scrapPtr = InfoScrap ();
- scrapCompare = scrapPtr->scrapCount;
- } /*if*/
- } /*WriteDeskScrap*/
-
- /*----------*/
- void InitScrap ()
- {
- PScrapStuff scrapPtr;
-
- scrapDirty = false;
- scrapPtr = InfoScrap ();
- scrapCompare = scrapPtr->scrapCount + 1;
- ReadDeskScrap ();
- } /*InitScrap*/
-